//1. 先引入axios依赖包
import axios from "axios";
import { msg } from "@/utils/message";
const Server = axios.create({
  baseURL: (import.meta as any).env.VITE_BASE_URL, //根据不同的环境打包不同的url
  timeout: 30000, // request timeout
  headers: {
    "Content-Type": "application/json;", //默认走的这个
  },
});
//3. 定义前置拦截器，请求拦截器，请求发送出去之前触发的
Server.interceptors.request.use(
  (config: any) => {
    return config;
  },
  (error) => {
    msg({
      message: JSON.stringify(error),
    });
    //报错的是时候抛出一个报错的信息
    return Promise.reject(error);
  }
);

//4. 定义后置拦截器,响应拦截器, 服务器响应回来数据之前触发，
Server.interceptors.response.use(
  (response) => {
    //响应回来的数据操作 拦截器
    return response.data;
  },
  (error) => {
    msg({
      message: JSON.stringify(error),
    });
    return Promise.reject(error);
  }
);

//5. 抛出对象的信息
export default Server;
